Entity Extraction Results

Intelligent Agents: Theory and Practice

Entity Statistics

2373

Total Entities

17

Entity Types

spaCy NER

Method
Entity Breakdown by Type
ORG 528
The Knowledge Engine... Computing Manchester... Manchester MI 5GD Mary & Westfield Col... FTPsite sec PDA DAI ABC UNIX Gcncscrcth & Kctchpc... p.10 Gasser Chaibdraa Rosenschein & Kaelbl... +513 more
DATE 525
10:2, 1995 1988 1992 1994 the mid to late 1980... daily 1992 the year 2000 1994 1995 1994 1986 1993 1994 1994 +510 more
CARDINAL 431
115 three three 2 one 3 116 one two 1A 117 1.1.2 36)-for 1.1.3 159-164 +416 more
PERSON 584
MICHAEL WOOLDRIDGE1 Mile End Road London El 4N.S N. R.Jennings@gm w.a... NICHOLAS JENNINGS Steeb et al. Maes Levy ct al. Houlder Carl Hewitt I. I. Etzioni et al. Shoham Bates Maes +569 more
GPE 153
Chester Street Ruritania remarked1 Castelfranchi Unix Bates Dennett Chellas Kripkc Konolige Konolige Bratman Castelfranchi al. Singh +138 more
ORDINAL 68
third first second First Secondly Thirdly second first second first first second first first second +53 more
NORP 6
British Pean Firby Concurrent Firby Synthese
LOC 4
Ovum Jupiter Jupiter Sagiv
MONEY 1
some US$3.5 billion
EVENT 2
the Thirteenth Inter... the Second Conferenc...
LAW 13
section 2 section 3 section 4 section 5 section 6 Chapter 5 section 4 section 2 section 2 section 2 section 2 section 1 the European Worksho...
FAC 4
Kinny et al. Gasser et al. Knowledge Representa... Latham Street
WORK_OF_ART 43
Grosz and Sidner (19... Seaworld'' Schoppers Gasser and Briot (19... Artificial Intellige... Workshop on Cooperat... Metate M Communications of th... Theoria 54175-199 In: M Wooldridge Artificial Intellige... Workshop on Cooperat... Artificial Intellige... Cognitive Science 31... In: M Wooldridge +28 more
LANGUAGE 1
English
PRODUCT 8
Mars Magic CMU-CS-92-144 CMU-CS-92-142 Bussman Workshop pp Pao Reichgclt
QUANTITY 1
0 Etzioni
PERCENT 1
198%
Text with Entity Highlights
ORG (528)
DATE (525)
CARDINAL (431)
PERSON (584)
GPE (153)
ORDINAL (68)
NORP (6)
LOC (4)
MONEY (1)
EVENT (2)
LAW (13)
FAC (4)
WORK_OF_ART (43)
LANGUAGE (1)
PRODUCT (8)
QUANTITY (1)
PERCENT (1)
The Knowledge Engineering Review The Knowledge Engineering Review, Vol. 10:2, 1995 The Knowledge Engineering Review, Vol. 10:2, 1995, 115 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence ( DAI The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) ( Steeb et al. The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped ( Maes The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al. The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing ( ABC The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 ( Houlder The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994 The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994). The Knowledge Engineering Review, Vol. 10:2, 1995, 115-152 Intelligent agents: theory and practice MICHAEL WOOLDRIDGE1 and NICHOLAS R. JENNINGS2 1 Department of Computing Manchester Metropolitan University Chester Street, Manchester MI 5GD, UK (M. Wooldridge@doc.mmu.ac.uk) Department of Electronic F.ngineering, Queen Mary & Westfield College, Mile End Road, London El 4N.S, UK ( N. R.Jennings@gm w.ac.uk) Abstract The concept of an agent has become important in both artificial intelligence (AI) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions arc at times somewhat arbitrary). Agent theory is concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents. Agent architectures can he thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally, agent languages are software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper is not intended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology. 1 Introduction We begin our article with descriptions of three events that occur sometime in the future: I. The key air-traffic control systems in the country of Ruritania suddenly fail, due to freak weather conditions. Fortunately, computerised air-traffic control systems in neighbouring countries negotiate between themselves to track and deal with all affected flights, and the potentially disastrous situation passes without major incident. 2. Upon logging in to your computer, you are presented with a list of email messages, sorted into order of importance by your personal digital assistant (PDA). You are then presented with a similar list of news articles; the assistant draws your attention to one particular article, which describes hitherto unknown work that is very close to your own. After an electronic discussion with a number of other PD As, your PDA has already obtained a relevant technical report for you from an FTPsite, in the anticipation that it will be of interest. 3. You are editing a file, when your PDA requests your attention: an email message has arrived, that containsnotification about a paper you sent to an important conference, and the PDA correctly predicted that you would want to sec it as soon as possible. The paper has been accepted, and without prompting, the PDA begins to look into travel arrangements, by consulting a number of databases and other networked information sources. A short time later, you are presented with a summary of the cheapest and most convenient travel options. We shall not claim that computer systems of the sophistication indicated in these scenarios are just around the corner, but serious academic research is underway into similar applications: air-traffic M. WOOLDRIDGE AND NICHOLAS JENNINGS 116 control has long been a research domain in distributed artificial intelligence (DAI) (Steeb et al., 1988); various types of information manager, that filter and obtain information on behalf of their users, have been prototyped (Maes, 1994a); and systems such as those that appear in the third scenario are discussed in (Mc Gregor, 1992; Levy ct al., 1994). The key computer-based com ponents that appear in each of the above scenarios are known as agents. It is interesting to note that one way of defining Al is by saying that it is the subfield of computer science which aims to construct agents that exhibit aspectsof intelligent behaviour. The notion of an "agent" is thus central to AI. It is perhaps surprising, therefore, that until the mid to late 1980s, researchers from mainstream AI gave relatively little consideration to the issues surrounding agent synthesis. Since then, however, there has been an intense flowering of interest in the subject: agents are now widely discussed by researchers in mainstream computer science, as well as those working in data communications and concurrent systems research, robotics, and user interface design. A British national daily paper recently predicted that: "Agent-hased computing (ABC) is likely to be the next significant breakthrough in software development.·· (Sargent, 1992) Moreover, the UK-based consultancy firm Ovum has predicted that the agent technology industry would be worth some US$3.5 billion worldwide by the year 2000 (Houlder, 1994).
All Extracted Entities
Entity Type Position Confidence
The Knowledge Engineering Review ORG 0-32 85%
10:2, 1995 DATE 39-49 85%
115 CARDINAL 51-54 85%
MICHAEL WOOLDRIDGE1 PERSON 99-118 85%
Computing Manchester Metropolitan University ORG 161-205 85%
Chester Street GPE 206-220 85%
Manchester MI 5GD ORG 222-239 85%
Mary & Westfield College ORG 319-343 85%
Mile End Road PERSON 345-358 85%
London El 4N.S PERSON 360-374 85%
N. R.Jennings@gm w.ac.uk PERSON 381-405 85%
three CARDINAL 766-771 85%
three CARDINAL 1778-1783 85%
Ruritania GPE 1883-1892 85%
2 CARDINAL 2167-2168 85%
one CARDINAL 2426-2429 85%
FTPsite ORG 2655-2662 85%
3 CARDINAL 2713-2714 85%
sec ORG 2941-2944 85%
PDA ORG 3025-3028 85%
NICHOLAS JENNINGS PERSON 3472-3489 85%
116 CARDINAL 3490-3493 85%
DAI ORG 3574-3577 85%
Steeb et al. PERSON 3580-3592 85%
1988 DATE 3594-3598 85%
Maes PERSON 3722-3726 85%
third ORDINAL 3781-3786 85%
1992 DATE 3825-3829 85%
Levy ct al. PERSON 3831-3842 85%
1994 DATE 3844-3848 85%
one CARDINAL 3981-3984 85%
the mid to late 1980s DATE 4234-4255 85%
British NORP 4652-4659 85%
daily DATE 4669-4674 85%
ABC ORG 4730-4733 85%
1992 DATE 4822-4826 85%
Ovum LOC 4868-4872 85%
some US$3.5 billion MONEY 4937-4956 85%
the year 2000 DATE 4970-4983 85%
Houlder PERSON 4985-4992 85%
1994 DATE 4994-4998 85%
Carl Hewitt PERSON 5477-5488 85%
remarked1 GPE 5498-5507 85%
two CARDINAL 6381-6384 85%
first ORDINAL 6425-6430 85%
second ORDINAL 6474-6480 85%
I. I. PERSON 6528-6533 85%
Castelfranchi GPE 6881-6894 85%
1995 DATE 6896-6900 85%
1994 DATE 7047-7051 85%

Showing first 50 of 2373 entities

Processing History

Single extraction run

Actions
View Full Timeline